package com.xbongbong.paas.service;

import com.xbongbong.paas.pojo.dto.FormDataGetDTO;
import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.paas.toolbox.wrap.BaseVO;
import com.xbongbong.pro.formdata.pojo.dto.FormDataDetailDTO;
import com.xbongbong.pro.formdata.pojo.vo.FormDataDetailVO;
import com.xbongbong.pro.formdata.pojo.vo.MobileFormCommonDetailVO;
import com.xbongbong.pro.listbatch.pojo.dto.OnlineDTO;
import com.xbongbong.pro.marketing.pojo.dto.MarketingManagementAddGetDTO;
import com.xbongbong.pro.marketing.pojo.dto.MarketingManagementDTO;
import com.xbongbong.pro.marketing.pojo.dto.MarketingManagementDataAddDTO;
import com.xbongbong.pro.marketing.pojo.dto.MarketingManagementDataCopyDTO;
import com.xbongbong.pro.marketing.pojo.dto.MarketingManagementDataGetDTO;
import com.xbongbong.pro.marketing.pojo.dto.MarketingManagementDataUpdateDTO;
import com.xbongbong.pro.marketing.pojo.dto.MarketingManagementDataUpdateGetDTO;
import com.xbongbong.pro.marketing.pojo.dto.MarketingManagementDeleteBatchDTO;
import com.xbongbong.pro.marketing.pojo.vo.MarketingManagementAddGetVO;
import com.xbongbong.pro.marketing.pojo.vo.MarketingManagementDataAddVO;
import com.xbongbong.pro.marketing.pojo.vo.MarketingManagementDataCopyVO;
import com.xbongbong.pro.marketing.pojo.vo.MarketingManagementDataGetVO;
import com.xbongbong.pro.marketing.pojo.vo.MarketingManagementDataUpdateGetVO;
import com.xbongbong.pro.marketing.pojo.vo.MarketingManagementDataUpdateVO;
import com.xbongbong.pro.marketing.pojo.vo.MarketingManagementDeleteBatchVO;
import com.xbongbong.pro.marketing.pojo.vo.MarketingManagementVO;

public interface MarketingManagementService {

    /**
     * 获得活动列表
     * @param marketingManagementDTO
     * @return
     */
    MarketingManagementVO getActivityList(MarketingManagementDTO marketingManagementDTO) throws XbbException;

    /**
     * 营销新建获取
     * @param marketingManagementDTO
     * @return
     * @throws XbbException
     */
    MarketingManagementAddGetVO addGet(MarketingManagementAddGetDTO marketingManagementDTO) throws XbbException;

    /**
     * 营销新建保存
     * @param marketingManagementDTO
     * @return
     * @throws XbbException
     */
    MarketingManagementDataAddVO add(MarketingManagementDataAddDTO marketingManagementDTO) throws XbbException;


    FormDataDetailVO getWebDetail(FormDataDetailDTO formDataDetailDTO) throws XbbException;


    /**
     * 详情页
     * @param marketingManagementDTO
     * @return
     * @throws XbbException
     */
    MarketingManagementDataGetVO get(MarketingManagementDataGetDTO marketingManagementDTO) throws XbbException;


    MarketingManagementDataUpdateGetVO updateGet(MarketingManagementDataUpdateGetDTO marketingManagementDTO) throws XbbException;


    MarketingManagementDataCopyVO copy(MarketingManagementDataCopyDTO marketingManagementDTO) throws XbbException;

    MarketingManagementDataUpdateVO update(MarketingManagementDataUpdateDTO marketingManagementDTO) throws XbbException;

    MarketingManagementDeleteBatchVO deleteBatch(MarketingManagementDeleteBatchDTO marketingManagementDeleteBatchDTO) throws XbbException;

    BaseVO online(OnlineDTO onlineDTO) throws XbbException;

    MobileFormCommonDetailVO getMoblieDetail(FormDataGetDTO formDataGetDTO)throws XbbException;
}
